In recent years there has been a significant rise in the provision of web services. Such services should be accessible by a wide variety of client applications hosted on platforms that may range from high-end servers to pervasive devices such as mobile telephones and personal digital assistants (PDAs). Platform-independent and language-independent collaboration among distributed and cross-vendor applications is advantageous. To enable this platform and language independence, web services typically use the Hyper Text Transfer Protocol (HTTP) and the eXtensible Markup Language (XML) data model to exchange messages.
Besides language independence, the XML data model also offers a document-based interaction, enabling aggregate and complex data structures to be exchanged between the service and client applications in a single interaction. While the service providers may offer generic service response to cater to the requirements of diverse client applications, it is the responsibility of the client application to extract relevant data from the service response.
As an illustrative example, a web service is considered that provides addresses of ATM locations near a given zip and country code. For a requested zip code of ‘134’, the web service may provide a response such as that shown in Appendix A, including information about the location of ATMs that accept AMX, VISAA, MASTCARD and DNERCARD cards (corresponding to American Express™, Visa™, Mastercard™ and Diners Club™ cards). However, the client application making the request may only be interested in ATM locations accepting AMX cards, and may thus require only a limited subset of the response. Appendix B shows the subset of the web service response that is of interest to the client application, i.e. only the information relating to AMX cards.
Applications deployed on network-enabled pervasive devices (for example a mobile phone) can access and exchange data with the web services to offer desired information to the end user on demand. However, such pervasive devices typically have limitations on their available power and network bandwidth. The pervasive devices may consequently suffer from excess airtime requirements and power consumption as a result of networking and parsing any excess data provided by web services.
While several techniques have been developed that allow server applications to be sensitive to the client device capacity while providing a response, these techniques have been focused on transforming display elements to make the response compatible with the display capability of the client device. Typically, the display characteristics of the client device are configured and embedded in the server application framework.
There is an ongoing need for methods that efficiently exploit the resources of client devices in interactions with web services.